package com.api.core.domain.query;

import com.alibaba.fastjson2.JSONObject;
import com.api.common.utils.StringUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;

@Getter
@Setter
public class RobotQuery {
    private Long lineId;
    /**
     * 其他语种
     */
    private JSONObject lineNameLocales;
    @JsonIgnore
    private String strLineNameLocales;

    private Long ipcId;
    /**
     * 其他语种
     */
    private JSONObject ipcNameLocales;
    @JsonIgnore
    private String strIpcLocales;
    /**
     * 设备ID
     */
    private Long robotId;
    /**
     * 其他语种
     */
    private JSONObject robotNameLocales;
    @JsonIgnore
    private String strRobotNameLocales;

    /**
     * 厂家
     */
    private String robotFactory;
    /**
     * 设备型号
     */
    private String robotModel;
    /**
     * 设备物理位置
     */
    private String physicalPosition;
    /**
     * 设备虚拟位置
     */
    private String virtualPosition;
    /**
     * 设备状态：默认0;0：使用、1：暂停、2：未上线
     */
    private String robotStatus;
    /**
     * 描述
     */
    private String remark;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 创建人
     */
    private String createBy;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 更新人
     */
    private String updateBy;
    /**
     * 选择第N页
     */
    private int pageNum;
    /**
     * 每页显示量
     */
    private int pageSize;

    private String appLang;

    public void setStrLineNameLocales(String strLineNameLocales) {
        this.strLineNameLocales = strLineNameLocales;
        if(StringUtils.isNotBlank(strLineNameLocales))
            this.lineNameLocales = JSONObject.parse(strLineNameLocales);
    }

    public void setStrIpcLocales(String strIpcLocales) {
        this.strIpcLocales = strIpcLocales;
        if(StringUtils.isNotBlank(strIpcLocales))
            this.ipcNameLocales = JSONObject.parse(strIpcLocales);
    }

    public void setStrRobotNameLocales(String strRobotNameLocales) {
        this.strRobotNameLocales = strRobotNameLocales;
        if(StringUtils.isNotBlank(strRobotNameLocales))
            this.robotNameLocales = JSONObject.parse(strRobotNameLocales);
    }
}
